import java.util.Random;
import java.util.Scanner;

/**
 * Created by Salted fish
 * Description:
 * User: 24539
 * Date：2021-07-28
 * Time: 14:12
 */
public class test {
//乘法口诀
public static void main(String[] args) {
    Scanner sn = new Scanner(System.in);
    int n=sn.nextInt();
    for (int i = 1; i <= n ; i++) {
        for (int j = 1; j <= i ; j++) {
            System.out.print(i+" * "+j + " = " +( i*j)+" ");
        }
        System.out.println();
    }
    /* for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {

            System.out.print(" " + i + "*" + j + "=" + (i * j) + "\t");//
            if (i == j) {
                System.out.print("\n");
            }
        }
    }*/
}
   /* public static void main18(String[] args) {
        Scanner sn = new Scanner(System.in);
        int n = sn.nextInt();
        int count = 0;
        for (int b = 0; b < 32; b++) {
            if (((n >> b) & 1) == 1) {
                count++;
            }
        }
        if (count > 1) {
            System.out.println("不是2的K次方");
        } else
            System.out.println("是2的K次方");
    }
}*/
  //输出一个整数的每一位
    public static void main16(String[] args) {
        Scanner sn = new Scanner(System.in);
        int a=sn.nextInt();
        int tmp=0;
        while (a>0) {
            tmp=a%10;
            a/=10;
            System.out.println(tmp);
     }
    }
}
 /*  // 编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输 入，最多输入三次。三次均错，则提示退出程序
   public static void main14(String[] args) {
       int count =3;
       String password = "1567";
       Scanner sn = new Scanner(System.in);
      // String key =sn.nextLine();
       while (count !=0) {
           String key =sn.nextLine();
           if (password.equals(key)) {
               System.out.println("密码正确");
               break;
           }else{
               System.out.println("密码错误，重新输入");
               count--;
           }
               if (count==0) {
                   System.out.println("错误多次，请退出");
               }
           }
       }
       }

 /*  public static void main(String[] args) {
       int password = 1546;
       Scanner sn = new Scanner(System.in);
       for (int i = 1; i < 4; i++) { //循环三次
           //判断输入和密码是否匹配
           int a = sn.nextInt();
           for (int b = 0; b < 32; b++) {
               if ((((a >> b) & 1)==1) && ((password >> b) & 1)==1) {
                   System.out.println("密码正确");
                   break;
               } else {
                   System.out.println("密码错误");
                   System.out.println("重新输入");
               }
           }
           if (i > 3) {
               System.out.println("错误多次，请退出");
           }
       }
   }

    //获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列
    public static void main13(String[] args) {
        Scanner sn = new Scanner(System.in);
        int a = sn.nextInt();
        System.out.println("偶数位");
        for (int x = 31; x >= 0; x -= 2) {
            int ret = ((a >> x) & 1);
            System.out.print(ret);
        }
        System.out.println();
        System.out.println("偶数位");
        for (int y = 30; y >= 0; y -= 2) {
            int tmp = ((a >> y) & 1);
            System.out.print(tmp);
        }
    }
}
 /*   //求一个整数，在内存当中存储时，二进制1的个数
    public static void main12(String[] args) {
        Scanner sn = new Scanner(System.in);
        int a = sn.nextInt();
        int count = 0;
        //向右位移31次，每次位移一个就和1进行异或
        for (int b = 0; b < 32; b++) {
            if (((a >> b) & 1) == 1) {
                count++;
            }
        }
        System.out.println(count);
    }
}
  /*  //求两个正整数的最大公约数
    public static void main11(String[] args) {
        Scanner sn = new Scanner(System.in);
        int a = sn.nextInt();
        int b = sn.nextInt();
        int min = a < b ? a : b;//去最小的值
        for (int c = min; c >0; c--) {
            if (a % c == 0 && b % c == 0) {
                System.out.println("最大公约数"+c);
                break;
            }
        }
    }
}

   // 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
  /* public static void main10(String[] args) {
       int a=0;
       int b=1;
       double sum=0.0;
       for(a=1;a<=100;a++) {
           sum += 1.0/a*b;
           b = -b;
       }
       System.out.println(sum);
   }


    //求出0～999之间的所有“水仙花数”并输出
    public static void main9(String[] args) {
     /*   int a = 0;
        System.out.println("0-999的水仙花数有：");
        for (int i = 100; i < 1000; i++) {
            int hundred = i / 100;   //百位
            int decade = (i % 100) / 10;   //十位
            int unit = i % 10;    //个位
            int sum = hundred * hundred * hundred
                    + decade * decade * decade
                    + unit * unit * unit;
            if (sum == i) {
                a++;
                System.out.println(i);
            }*/
       /* int sum = 0;
        for (int i = 100; i < 1000; i++) {
            int  a = i / 100;//百位数
            int b = (i % 100) / 10;//十位数
            int  c = i % 10;//个位数
            sum = (a * a * a) +( b * b * b) + (c * c * c);
            if ( sum == i) {
                System.out.println(i);
            }
        }
        }
    }

   // 完成猜数字游戏 ，用户输入数字，判断该数字是大于，小于，还是等于随机生成的数字，等于的时候退出程序
  /*public static void main8(String[] args) {
       Scanner sn=new Scanner(System.in);
       Random random = new Random();
       int rand = random.nextInt(100);
       while (true) {
           int a =sn.nextInt();
           System.out.println("请输入一个数字：  ");
           if(a== rand) {
               System.out.println("数字相等");
               break;
           }
           if(a<rand) {
               System.out.println("数字小了");
           }
           else if (a>rand) {
               System.out.println("数字大了");
           }
       }
   }
    //针对每行输入，输出用“*”组成的X形图案。
    public static void main7(String[] args) {
        Scanner sn=new Scanner(System.in);
        int a =sn.nextInt();
        for(int b=0;b<a;b++)
        {
            for(int c=0;c<a;c++)
            {
                if(b==c)
                {
                    System.out.print("*");
                }
                else if (b+c==a-1)
                {
                    System.out.print("*");

                }
                else
                {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
    //根据输入的年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
    public static void main6(String[] args) {
        Scanner sn=new Scanner(System.in);
        int a =sn.nextInt();
        if (a<=18) {
            System.out.println("少年");
        }
        if(a >= 19 && a <= 28) {
            System.out.println("青年");
        }
        if(a >= 29 && a <= 55) {
            System.out.println("中年");
        }
        else if (a >= 56) {
            System.out.println("老年");
        }
    }
   // 给定一个数字，判定一个数字是否是素数
   public static void main5(String[] args) {
       Scanner sn=new Scanner(System.in);
       int a =sn.nextInt();
       int b=0;
       for(b=2;b<=a;b++) {
           if(a%b==0)
               break;
       }
       if(a==b)
           System.out.println("是素数"+a);
       else  {
           System.out.println("不是素数"+a);
       }
   }
    //  打印 1 - 100 之间所有的素数
    public static void main4(String[] args) {
        int a,b;
        for (a = 2; a <= 100; a++) {
            for( b = 2;b < a; b++) {
             if (a%b==0)
                    break;
            }
            if(a==b)
            System.out.println(a);
        }
    }
}
   // 输出 1000 - 2000 之间所有的闰年
  /*  public static void main3(String[] args) {
       for(int a=1000;a<=2000;a++) {
            if(a % 400 == 0 )
                System.out.println(a);
             if (a %100 != 0 && a % 4==0)
                 System.out.println(a);
        }
    }
    //1到 100 的所有整数中出现多少个数字9
    public static void main2(String[] args) {
        int a = 0 ;
        int sum = 0 ;
        for(a=0;a<100;a++) {
            if(a%10==9)
            sum++;
            if(a/10==9)
                sum++;
        }
        System.out.println(sum);
    }
    public static void main1(String[] args) {
        int a = 1;
        while (a <= 100) {
            if (a % 15 != 0) {
                a++;
                continue;
            }
            System.out.println(a);
            a++;
        }
    }
}*/
